package com.turing.post.account.util;

import java.math.BigInteger;
import java.util.Date;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;

/**
 * 主帐户转账明细DAO接口
 * 
 * @author yxb
 * 
 */
@Remote
@Local
public interface MasterAccountTransferDetailDao {
	/**
	 * 插入
	 * 
	 * @param matd
	 *            主帐户转账明细对象
	 * @throws PCPSApplicationException
	 *             异常信息
	 */
	public void insert(MasterAccountTransferDetail matd)
			throws PCPSApplicationException;

	/**
	 * 根据流水号检索所有的主帐户转账明细
	 * 
	 * @param accSeqNo
	 * @return
	 */
	public List<MasterAccountTransferDetail> getAllMasterAccountTransferDetailByAccSeqNo(
			String accSeqNo);

	/**
	 * 计算给定某主帐户ID、某银行帐户ID、交易时间之前最大允许赎回的金额
	 * 
	 * @param masaccno
	 * @param bankaccid
	 * @param tranTime
	 * @return
	 */
	public BigInteger getMaxTheoryRedemp(BigInteger masaccno,
			BigInteger bankaccid, Date tranTime);
}